////////////////////////////////////////////////////////////////////////////////////////
//  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING THIS SOFTWARE
//
//  By downloading, copying, installing or using the software you agree to this license.
//  If you do not agree to this license, do not download, install, copy or use the software.
//
// Copyright (C) 2013, AerVision Technologies Pty Ltd, all rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
//   * Redistribution's of source code must retain the above copyright notice,
//     this list of conditions and the following disclaimer.
//
//   * Redistribution's in binary form must reproduce the above copyright notice,
//     this list of conditions and the following disclaimer in the documentation
//     and/or other materials provided with the distribution.
//
//   * The name of AerVision Technologies, may not be used to endorse or promote products
//     derived from this software without specific prior written permission.
//
// This software is provided by the copyright holders and contributors to demonstrate 
// www.AerCloud.net Framework as a Service API (FaaS), "as is" and
// any express or implied warranties, including, but not limited to, the implied
// warranties of merchantability and fitness for a particular purpose are disclaimed.
// In no event shall the copyright holder or contributors be liable for any direct,
// indirect, incidental, special, exemplary, or consequential damages
// (including, but not limited to, procurement of substitute goods or services;
// loss of use, data, or profits; or business interruption) however caused
// and on any theory of liability, whether in contract, strict liability,
// or tort (including negligence or otherwise) arising in any way out of
// the use of this software, even if advised of the possibility of such damage.
////////////////////////////////////////////////////////////////////////////////////////

package com.aercloud.client.gui;

import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;

import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;

import com.aercloud.client.util.AerCloudClient;

public class PanelSearchResultsBrowserItem extends JPanel {
    
    private JLabel lblText;
    private JLabel lblSimilarity;
    private JLabel lblDatabaseImage;
    private JLabel lblQueryImage;

    /**
     * Create the panel.
     */
    public PanelSearchResultsBrowserItem() {
        setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
        setAlignmentY(Component.TOP_ALIGNMENT);
        setAlignmentX(Component.LEFT_ALIGNMENT);
        add(getLblText());
        add(getLblSimilarity());
        setBackground(Color.WHITE);
        add(getLblDatabaseImage());
        add(getLblQueryImage());
    }

    public JLabel getLblText() {
        if (lblText == null) {
        	lblText = new JLabel();
        	lblText.setHorizontalAlignment(SwingConstants.CENTER);
        	Dimension size = new Dimension(256,128);
            lblText.setPreferredSize(size);
            lblText.setMinimumSize(size);
            lblText.setMaximumSize(size);
            lblText.setBorder(BorderFactory.createMatteBorder(0,1,1,1, Color.BLACK));
        }
        return lblText;
    }
    
    public JLabel getLblSimilarity() {
        if (lblSimilarity == null) {
        	lblSimilarity = new JLabel();
            Dimension size = new Dimension(96,128);
        	lblSimilarity.setPreferredSize(size);
        	lblSimilarity.setMinimumSize(size);
        	lblSimilarity.setMaximumSize(size);
        	lblSimilarity.setHorizontalAlignment(SwingConstants.CENTER);
        	lblSimilarity.setBorder(BorderFactory.createMatteBorder(0,0,1,1, Color.BLACK));
        }
        return lblSimilarity;
    }
    
    public JLabel getLblDatabaseImage() {
        if (lblDatabaseImage == null) {
        	lblDatabaseImage = new LabelImage();
            Dimension size = new Dimension(128,128);
            lblDatabaseImage.setPreferredSize(size);
            lblDatabaseImage.setMinimumSize(size);
            lblDatabaseImage.setMaximumSize(size);
            lblDatabaseImage.setHorizontalAlignment(SwingConstants.CENTER);
            lblDatabaseImage.setBorder(BorderFactory.createMatteBorder(0,0,1,1, Color.BLACK));
        }
        return lblDatabaseImage;
    }
    public JLabel getLblQueryImage() {
        if (lblQueryImage == null) {
        	lblQueryImage = new LabelImage();
            Dimension size = new Dimension(128,128);
            lblQueryImage.setPreferredSize(size);
            lblQueryImage.setMinimumSize(size);
            lblQueryImage.setMaximumSize(size);
            lblQueryImage.setHorizontalAlignment(SwingConstants.CENTER);
            lblQueryImage.setBorder(BorderFactory.createMatteBorder(0,0,1,1, Color.BLACK));
        }
        return lblQueryImage;
    }
}
